#define _CRT_SECURE_NO_WARNINGS 1
#include"UnionFindSet.h"
#include"Graph.h"

//int main()
//{
//	
//	vector<int> v(26, -1);
//
//	auto FindRoot = [&v](int x)
//		{
//			int root = x;
//			while (v[root] >= 0)
//			{
//				root = v[root];
//			}
//			return root;
//		};
//
//	UnionFindSet s(6);
//	s.UnionSet(2, 3);
//	s.UnionSet(4, 5);
//	
//	s.UnionSet(2,4);
//
//	cout<<   s.SetCount() << endl;
//	return 0;
//}

//int main()
//{
//	xu::Graph<char, int, INT_MAX, true> g("0123", 4);
//	g.AddEdge('0', '1', 1);
//	g.AddEdge('0', '3', 4);
//	g.AddEdge('1', '3', 2);
//	g.AddEdge('1', '2', 9);
//	g.AddEdge('2', '3', 8);
//	g.AddEdge('2', '1', 5);
//	g.AddEdge('2', '0', 3);
//	g.AddEdge('3', '2', 6);
//	g.Printf();
//
//	return 0;
//}

//struct A
//{
//	bool operator()(const int &b, const int& c)
//	{
//		return b>c;
//	}
//};

int main()
{
	xu::TestGraphMinTree();
	return 0;
}